<?php
/**
 * JoiGallery - image gallery component for Joostina
 *
 * Frontend View handler
 *
 * @version 1.0 alpha 12
 * @package JoiGallery
 * @filename joigallery.html.php
 * @author JoostinaTeam
 * @copyright (C) 2008-2009 Joostina Team
 * @license see license.txt
 *
 **/

// запрет прямого доступа
defined('_VALID_MOS') or die();

//Если есть системное сообщение - выводим
  $mosmsg = mosMainFrame::getInstance()->get_mosmsg();
  if($mosmsg)
    echo '<div class="info joi_gallery_info"
               onclick="$(this).fadeOut(\'slow\')"
               onmouseover="$(this).css(\'cursor\', \'pointer\' )">'.$mosmsg.'</div>';

class HTML_joigallery {
	
  function viewItem($row,  $params) {
    global $my, $_MAMBOTS;

    $_MAMBOTS->loadBotGroup('content');

    $mainframe = &mosMainFrame::getInstance();
    $database = &database::getInstance();

    $mainframe->addJS(JPATH_SITE.'/components/com_joigallery/js/navigate.js');

    joiGalleryHelper::fixPathway($row->cid, $row);

    //МЕТАДАННЫЕ
    $page_photo_meta_title = ($row->meta_title)
                           ?  $row->meta_title
                           :  sprintf(_C_JOIGALLERY_VIEW_PHOTO, $row->name);

    $page_photo_meta_desc  = ($row->meta_desc)
                           ?  $row->meta_desc
                           :  substr(strip_tags($row->description), 0, 255);

    $page_photo_meta_keyw  = ($row->meta_kw)
                           ?  $row->meta_kw
                           :  '';

    // Устанавливаем мета-заголовок страницы
    $mainframe->setPageTitle($page_photo_meta_title);
    // Устанавливаем описание страницы
    $mainframe->prependMetaTag("description", $page_photo_meta_desc);
    // Устанавливаем ключевые слова страницы
    $mainframe->prependMetaTag("keywords", $page_photo_meta_keyw);


    $prev_link = $next_link = '';
    if($row->prev){
        $prev_link_1 = isset($row->prev[0]) ?  sefRelToAbs('index.php?option=com_foto&amp;task=view&amp;id='.$row->prev[0]->id) : '#';

    }
    if($row->next){
        $next_link_1 = isset($foto->prev[0]) ?  sefRelToAbs('index.php?option=com_foto&amp;task=view&amp;id='.$row->next[0]->id) : '#';
    }

    //Плагины
    $plugins = new joiGalleryPlugins($mainframe);
    $plugins->init('foto-view', $row, $params);

    //Дополнительные поля
    $extra_fields = new joiExtraFields($mainframe, 'com_joigallery');

    //Комментарии (JComments))
    if ($params->get( 'comments' )) {
                    //$comments = $_MAMBOTS->call('onPrepareJoiComments');
        $comments = JPATH_BASE.'/components/com_jcomments/jcomments.php';

        if (file_exists($comments)) {
                require_once($comments);
        }
        else{
            $params->set( 'comments',0);
        }
            }

            //Подключаем файл шаблона страницы изображения
            $template = new joiTemplates('com_joigallery');
            if($template->get_template('item-view', $params->template_dir, $params->template_photo)){
                    include_once($template->template_file);
            }
			//Подключаем файл стилей 
            $mainframe->addCSS(_JOI_GALLERY_FRONT_SITE.'/view/css/'.$params->get('template_item_css') );
  }

  function editItem($photo, $params) {
    global $my;
	
    $mainframe = &mosMainFrame::getInstance();

    // Устанавливаем мета-заголовок страницы
    $mainframe->setPageTitle(_C_JOIGALLERY_PHOTO_EDIT);

    // Устанавливаем pathway страницы
    $action = _C_JOIGALLERY_EDIT_PHOTO;
    joiGalleryHelper::fixPathway($photo->cid,$photo,$action);                            

    //Дополнительные поля
    $extra_fields = new joiExtraFields($mainframe, 'com_joigallery');

    $mainframe->set('allow_wysiwyg', 1);
    $wwig_params = array('m_buttons' => 0);

    //Подключаем файл шаблона страницы редактирования изображения
    $template = new joiTemplates('com_joigallery');
    if($template->get_template('item-form', $params->template_dir, $params->template_edit_photo)){
        include_once($template->template_file);
    }
	//Подключаем файл стилей 
    $mainframe->addCSS(_JOI_GALLERY_FRONT_SITE.'/view/css/'.$params->template_edit_item_css );

  }

  function newPhoto($params) {
    global $my;
	
    $mainframe = &mosMainFrame::getInstance();
    $database = &database::getInstance();

    // Устанавливаем мета-заголовок страницы
    $mainframe->setPageTitle(_C_JOIGALLERY_PHOTO_UP_PHOTO);

    // Устанавливаем pathway страницы
    $action = _C_JOIGALLERY_UPLOAD_PHOTOS;
    (!empty($_REQUEST['cid'])) ? joiGalleryHelper::fixPathway($_REQUEST['cid'],null,$action)
                               : $mainframe->appendPathWay($action);

    //Дополнительные поля
    $extra_fields = new joiExtraFields($mainframe, 'com_joigallery');    

    $mainframe->set('allow_wysiwyg', 1);
    $wwig_params = array('m_buttons' => 0);

    mosCommonHTML::loadOverlib();

    $categories = joiGalleryCategory::getCategoryTree();

    //Подключаем файл шаблона страницы загрузки изображений
    $template = new joiTemplates('com_joigallery');
    if($template->get_template('item-add', $params->template_dir, $params->template_add_photo)){
        include_once($template->template_file);
    }
	//Подключаем файл стилей 
    $mainframe->addCSS(_JOI_GALLERY_FRONT_SITE.'/view/css/'.$params->template_add_item_css );  
  }

  function viewCategory($cat, $photos,  $params) {
    global  $my, $_MAMBOTS;

    $mainframe = &mosMainFrame::getInstance();
    $database = &database::getInstance();

    $mainframe->addLib('text');

    $subcats = $cat->subcats;
    $photos  = $photos->content;
    $total   = $cat->total;

    $imgs = new joiGalleryPhoto ($database);

    joiGalleryHelper::fixPathway($cat->id);

    require_once (JPATH_BASE.'/includes/pageNavigation.php');
    $pageNav = new mosPageNav($total, $params->_limitstart, $params->_limit);

    if(!$params->_cid && !$cat->name){
          $page_type  = 'mainpage-view';//Мы на главной странице

          //МЕТАДАННЫЕ
          $page_main_meta_title = ($params->template_main_meta_title)
                                ?  $params->template_main_meta_title
                                :  _C_JOIGALLERY_SHOWCATEGORIES;

          $page_main_meta_desc  = ($params->template_main_meta_desc)
                                ?  $params->template_main_meta_desc
                                :  '';

          $page_main_meta_keyw  = ($params->template_main_meta_kw)
                                ?  $params->template_main_meta_kw
                                :  '';

          // Устанавливаем мета-заголовок страницы
          $mainframe->setPageTitle($page_main_meta_title);
          // Устанавливаем описание страницы
          $mainframe->prependMetaTag("description", $page_main_meta_desc);
          // Устанавливаем ключевые слова страницы
          $mainframe->prependMetaTag("keywords", $page_main_meta_keyw);
          //$mainframe->appendPathWay(_C_JOIGALLERY_CATEGORY_INDEX);

    }
    else {
          $page_type = 'category-view';//Мы в категории
          
          //$cat->params
          //Получаем массив метаданных из поля "params" и разделяем его на составляющие
          $meta = explode( '|||',stripslashes($cat->params) );
          $meta[0] = !empty($meta[0]) ? $meta[0] : '';
          $meta[1] = !empty($meta[1]) ? $meta[1] : '';
          $meta[2] = !empty($meta[2]) ? $meta[2] : '';

          //МЕТАДАННЫЕ
          $page_main_meta_title = ($meta[0])
                                ?  $meta[0]
                                :  sprintf(_C_JOIGALLERY_SHOWCATEGORY, $cat->name);

          $page_main_meta_desc  = ($meta[1])
                                ?  $meta[1]
                                :  '';

          $page_main_meta_keyw  = ($meta[2])
                                ?  $meta[2]
                                :  '';

          // Устанавливаем мета-заголовок страницы
          $mainframe->setPageTitle($page_main_meta_title);
          // Устанавливаем описание страницы
          $mainframe->prependMetaTag("description", $page_main_meta_desc);
          // Устанавливаем ключевые слова страницы
          $mainframe->prependMetaTag("keywords", $page_main_meta_keyw);
          //$mainframe->appendPathWay(_C_JOIGALLERY_CATEGORY_INDEX);
          
          //$mainframe->setPageTitle(sprintf(_C_JOIGALLERY_SHOWCATEGORY, $cat->name));

          $error = new joiGalleryError;

          //Если id категории не существует или не относится к com_joigallery
          //возвращаем на предыдущую страницу
          if (!$cat->get_cat_field_by_cid($cat->id))
          joiGalleryError::error(_C_JOIGALLERY_MSG_UPLOAD_ERR_NOT_AUTH);                

    }

    //Плагины
    $plugins = new joiGalleryPlugins($mainframe);
    $plugins->init('category-view', $cat, $params);

    //Рейтинг
    if($params->get('image_rate_cat_view', 1)){
       $_MAMBOTS->loadBotGroup('content');
       //$rating = $_MAMBOTS->call('onPrepareRating');
    }

    //Комментарии (JComments))
    if ($params->get( 'comments_cat_view' )){
        //$comments = $_MAMBOTS->call('onPrepareJoiComments');
        $comments = JPATH_BASE.'/components/com_jcomments/jcomments.php';

        if (file_exists($comments)) require_once($comments);
        else $params->set( 'comments_cat_view',0);
    }

    //Подключаем файл шаблона страницы отображения категории или главной страницы
    $page = ($page_type == 'category-view') ? $params->template_cat : $params->template_main;
    $template = new joiTemplates('com_joigallery');
    
    if($template->get_template($page_type, $params->template_dir, $page)){
        include_once($template->template_file);
    }

  }

  function editCategory($cat, $params) {
    global $my;
	
    $mainframe = &mosMainFrame::getInstance();

    //Добавление или редактирование категории?
    $action = $cat->id ? _C_JOIGALLERY_EDIT_PHOTO : _C_JOIGALLERY_CATEGORY_ADD;

    // Устанавливаем pathway страницы
    (!empty($_REQUEST['cid'])) ? joiGalleryHelper::fixPathway($_REQUEST['cid'],null,$action)
                               : $mainframe->appendPathWay($action);

    // Устанавливаем заголовок страницы
    $mainframe->setPageTitle($action);

    $mainframe->set('allow_wysiwyg', 1);
    $wwig_params = array('m_buttons' => 0);

    //Подключаем файл шаблона страницы редактирования категории
    $template = new joiTemplates('com_joigallery');
    if($template->get_template('category-form', $params->template_dir, $params->template_edit_cat)){
            include_once($template->template_file);
    }
	//Подключаем файл стилей 
    $mainframe->addCSS(_JOI_GALLERY_FRONT_SITE.'/view/css/'.$params->template_edit_cat_css );
  }

  function navPrevNext($row, $params, $id='', $txt='', $alt='') {
    $mainframe = &mosMainFrame::getInstance();

    $link  = 'index.php?option='.$params->_option.'&amp;act=photos&amp;cid=';
    $link  = sefRelToAbs( $link.$row->id.'&amp;Itemid='.$params->_Itemid );
    $id    = $id ? 'id="'.$id.'"' : '';

    //$alt   = $row->name ? $row->name : '';
    //$title = $row->description ? 'title="'.$row->description.'"' : '';
    $alt   = $alt ? $alt : '';
    $title = '';
    

    if ($txt) {
    ?>
      <div class="arrow_nav" style="line-height:<?php echo $params->get("thumbnail_height",100 ) ?>px">
        <a class="arrow"
           style="line-height:<?php echo $params->get("thumbnail_height",100 ) ?>px"
           href="<?php echo $link ?>"><?php echo $txt; ?></a>
      </div>
    <?php
    }
    else { 
    $src_path = JPATH_SITE.$params->thumbnail_path;
    $src_path = file_exists(JPATH_BASE.$params->thumbnail_path.'/'.$row->path)
              ? $src_path.'/'.$row->path : $src_path.'/'.$row->cid.'/noimage.jpg';
    ?>
      <a class="photo_nav" <?php echo $id; ?> href="<?php echo $link; ?>" <?php echo $title; ?>>
        <img src="<?php echo $src_path; ?>"
             border="0"
             alt="<?php echo $alt; ?>"
             <?php echo $title; ?> />
      </a>
    <?php
    }
   

  }

  function buttonAddCat($row, $params) {
    global $my;

    $cid  = ($row->id) ? '&amp;cid='.$row->id : '';
    $link = sefRelToAbs( 'index.php?option='
            .$params->_option.'&amp;act=categories&amp;task=new'
            .$cid.'&amp;Itemid='.$params->_Itemid );
    
    if($params->_access->allow_me('add_cat', $my->gid)){ ?>
        <span class="button">
          <a class="button" href="<?php echo $link; ?>" title="<?php echo _C_JOIGALLERY_CATEGORY_ADD ?>">
           <?php echo _C_JOIGALLERY_BUTTON_CATEGORY_ADD;?>
          </a>
        </span>
    <?php }

  }

  function buttonUploadPhoto($row, $params) {
    global $my;

    $cid  = ($row->id) ? '&amp;cid='.$row->id : '';
    $link = sefRelToAbs( 'index.php?option='
            .$params->_option.'&amp;act=photos&amp;task=new'
            .$cid.'&amp;Itemid='.$params->_Itemid );

    if($params->_access->allow_me('add_photo_single', $my->gid) || $params->_access->allow_me('add_photo_archive', $my->gid) ){ ?>
        <span class="button">
          <a class="button" href="<?php echo $link; ?>" title="<?php echo _C_JOIGALLERY_PHOTO_UP_PHOTO ?>">
            <?php echo _C_JOIGALLERY_BUTTON_UPLOAD;?>
          </a>
        </span>
  <?php }
  }

  function buttonEditPhoto($row, $params) {
    global $my;

    $link = sefRelToAbs( 'index.php?option='.$params->_option
                        .'&amp;act='.$params->_act.'&amp;task=edit&amp;cid='
                        . $row->id.'&amp;Itemid=' .$params->_Itemid );
    
    $button = _C_JOIGALLERY_BUTTON_PHOTO_EDIT;

    if(   $params->_access->allow_me('edit_photo', $my->gid)
       ||($params->_access->allow_me('edit_own_photo', $my->gid)
       && $my->id == $row->user_id) ) { ?>
            <span class="button">
              <a class="button" href="<?php echo $link; ?>" title="<?php echo _C_JOIGALLERY_PHOTO_EDIT ?>">
               <?php echo $button ;?>
              </a>
            </span>
    <?php }

  }
  	
  function buttonEditCat($row, $params) {
    global $my;

    $link = sefRelToAbs( 'index.php?option='.$params->_option
                        .'&amp;act='.$params->_act.'&amp;task=edit&amp;cid='
                        . $row->id.'&amp;Itemid=' . $params->_Itemid );

    $button = _C_JOIGALLERY_BUTTON_CATEGORY_EDIT;

    if($params->_access->allow_me('edit_cat', $my->gid)){ ?>
      <span class="button">
        <a class="button" href="<?php echo $link; ?>"  title="<?php echo _C_JOIGALLERY_CATEGORY_EDIT ?>">
         <?php echo $button ;?>
        </a>
      </span>
    <?php }

  }

  function buttonDeletePhoto($row, $params) {
    global $my;

    $link = sefRelToAbs( 'index.php?option='.$params->_option
                        .'&amp;act='.$params->_act.'&amp;task=remove&amp;cid='
                        . $row->id.'&amp;Itemid=' . $params->_Itemid );

    $button = _C_JOIGALLERY_BUTTON_DELETE_PHOTO;
    $confirm = 	_C_JOIGALLERY_DELETE_CONFIRM_PHOTO;

    if(  ($params->_access->allow_me('del_photo', $my->gid) && $my->id != $row->user_id)
       ||($params->_access->allow_me('del_own_photo', $my->gid) && $my->id == $row->user_id) ){  ?>
    <span class="button">
      <a class="button"
         href="javascript:void(0);"
         title="<?php echo _C_JOIGALLERY_PHOTO_DELETE ?>"
         onclick="if(confirm('<?php echo $confirm;?>')){document.location.href='<?php echo $link;?>'}">
        <?php echo $button;?>
      </a>
    </span>
    <?php }
  }
  	
  function buttonDeleteCat($row, $params) {
    global $my;

    $link = sefRelToAbs( 'index.php?option='.$params->_option
                        .'&amp;act='.$params->_act.'&amp;task=remove&amp;cid='
                        . $row->id.'&amp;Itemid=' . $params->_Itemid );

    $button = _C_JOIGALLERY_BUTTON_DELETE_CAT;
    $confirm = 	_C_JOIGALLERY_DELETE_CONFIRM_CATEGORY;

    if($params->_access->allow_me('del_cat', $my->gid)){  ?>
        <span class="button">
          <a class="button"
             href="javascript:void(0);"
             title="<?php echo _C_JOIGALLERY_CATEGORY_DELETE ?>"
             onclick="if(confirm('<?php echo $confirm;?>')){document.location.href='<?php echo $link;?>'}">
            <?php echo $button;?>
          </a>
        </span>
    <?php }
  }

}